The approaches described in this section are approaches that could be pursued, but are not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section.
Many existing digital image processing algorithms utilize facial recognition and detection techniques in order to identify human faces in a digital image. Identifying human faces is often a necessary or desired step in various image enhancement and image alteration applications. For example, identifying human faces can be used as a step in algorithms that enhance the separation of a subject in the foreground from the background in order to enhance depth of field or to separate the face or a body from the background altogether. Identifying human faces can also be used as a step in image correction algorithms that are used to identify and correct defects in a digital image. For example, by knowing if an object is a face or not a face, a location of eyes can be estimated and used to increase the number of true positives identified by a redeye removal algorithm and reduce the number of false positives identified by the redeye removal algorithm.
A well-known fast-face detection algorithm is disclosed in US Patent Publication No. 2002/0102024, hereinafter Viola-Jones, which is hereby incorporated by reference in its entirety for all purposes. Viola-Jones proposes a classifier chain consisting of a series of sequential feature detectors. The classifier chain rejects image patterns that do not represent faces and accepts image patterns that do represent faces.
Although the original Viola-Jones algorithm is significantly faster than previous face detectors, it still involves significant computation that is difficult to perform in real-time, especially in a resource-restricted embedded system, such as a hand held image acquisition device like a digital camera, hand-held computer, or cellular phone equipped with a camera. Additionally, current implementations of Viola-Jones require separate classifier chains for detecting full faces, left faces, and right faces, thus significantly increasing computation time if detection of half faces is desired in addition to detection of full faces.